Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Document aarch64 target_feature options #1102

Merged
merged 1 commit into from
Mar 15, 2022

Conversation

adamgemmell
Copy link
Contributor

@adamgemmell adamgemmell commented Nov 5, 2021

Draft documentation update rust-lang/rust#90620

Of note is the fact that I haven't documented the "v8.Xa" target features in order to discourage their use. It's much better to use the more granular target features available.

@ehuss ehuss added the S-waiting-on-stabilization Waiting for a stabilization PR to be merged in the main Rust repository label Nov 5, 2021
@adamgemmell adamgemmell force-pushed the dev/aarch64-target-feature branch from 1c52e72 to 3d594b9 Compare February 8, 2022 16:30
@adamgemmell adamgemmell marked this pull request as ready for review February 9, 2022 09:53
@adamgemmell
Copy link
Contributor Author

@ehuss This and #1061 are no longer blocked on stabilisation - we're currently merging PRs for this (see rust-lang/rust#86941 (comment))

@ehuss
Copy link
Contributor

ehuss commented Mar 15, 2022

Thanks for putting this together!

I can't find how to verify the implied feature mappings. How can I validate those? I see the feature mapping on the rust side, but those don't seem to completely encompass the mappings here. The x86 side has the implicit mappings defined (here), but I can't find the same thing for the aarch64 side.

@ehuss ehuss removed the S-waiting-on-stabilization Waiting for a stabilization PR to be merged in the main Rust repository label Mar 15, 2022
@adamgemmell
Copy link
Contributor Author

@ehuss I've been using https://github.com/llvm/llvm-project/blob/main/llvm/lib/Target/AArch64/AArch64.td combined with the "to_llvm_features" mapping you linked. The array of features at the end of each def provides the implied mapping.

I can see X86.td also exists with this information, not really sure why it's duplicated there. The two sources don't seem to conflict at least.

Copy link
Contributor

@ehuss ehuss left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks! I'm going to approve even though I am not particularly an expert here. It seems to match what has been stabilized. Followup PRs to fix anything amiss are welcome.

@ehuss ehuss merged commit 8e462e9 into rust-lang:master Mar 15, 2022
bors added a commit to rust-lang-ci/rust that referenced this pull request Mar 16, 2022
Update books

## reference

8 commits in 9d289c05fce7254b99c6a0d354d84abb7fd7a032..0a2fe6651fbccc6416c5110fdf5b93fb3cb29247
2022-02-23 08:58:20 -0800 to 2022-03-15 09:32:25 -0700
- Documentation PR for cfg_panic (rust-lang/reference#1157)
- Document aarch64 `target_feature` options (rust-lang/reference#1102)
- Try to clarify destructor not being run scenario. (rust-lang/reference#1107)
- Add undocumented Punctuation token Tilde `~` (rust-lang/reference#1149)
- update UB list for safe target_feature (rust-lang/reference#1050)
- Update const_eval.md for feature stabilization (rust-lang/reference#1166)
- Remove `.intel_syntax`/`.att_syntax` support entirely.
- Fix `.intel_syntax` directive

## book

3 commits in 3f255ed40b8c82a0434088568fbed270dc31bf00..036e88a4f135365de85358febe5324976a56030a
2022-02-27 21:26:12 -0500 to 2022-03-04 21:53:33 -0500
- Fix some links and small wordings
- Snapshot of chapter 19 for nostarch
- Clarify fully-qualified syntax explanation

## rust-by-example

2 commits in 2a928483a20bb306a7399c0468234db90d89afb5..d504324f1e7dc7edb918ac39baae69f1f1513b8e
2022-02-28 11:36:59 -0300 to 2022-03-07 09:26:32 -0300
- Fixed extra indentation at line 43 in Phantom Testcase example. (rust-lang/rust-by-example#1515)
- Typo fixed in description of inline ASM cpuid function (rust-lang/rust-by-example#1514)

## rustc-dev-guide

3 commits in 32f2a5b..0e4b961
2022-03-01 10:45:24 -0600 to 2022-03-14 08:40:37 -0700
- update winget install instructions to ensure proper packages are installed (-e for --exact, and full package names to ensure arbitrary packages from
the msstore source aren't installed)
- Add missing rustdoc tests explanations
- Fix incorrectly escaped backtick
@adamgemmell adamgemmell deleted the dev/aarch64-target-feature branch March 16, 2022 10:15
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants